package com.ruoyi.system.mapper;

import com.ruoyi.common.vo.GoodsQueryVo;
import com.ruoyi.system.domain.GoodsChoice;
import com.ruoyi.system.domain.vo.GoodsSearchVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * (GoodsChoice)表数据库访问层
 *
 * @author makejava
 * @since 2020-10-26 18:19:18
 */
public interface GoodsChoiceMapper {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    GoodsChoice queryById(Integer id);

    /**
     * 查询指定行数据
     *
     * @return 对象列表
     */
    List<GoodsChoice> queryAllByLimit(GoodsQueryVo goodsQueryVo);


    /**
     * 通过实体作为筛选条件查询
     *
     * @param goodsChoice 实例对象
     * @return 对象列表
     */
    List<GoodsChoice> queryAll(GoodsChoice goodsChoice);

    /**
     * 新增数据
     *
     * @param goodsChoice 实例对象
     * @return 影响行数
     */
    int insert(GoodsChoice goodsChoice);

    /**
     * 修改数据
     *
     * @param goodsChoice 实例对象
     * @return 影响行数
     */
    int update(GoodsChoice goodsChoice);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 影响行数
     */
    int deleteById(Integer id);

    void batchInsert(@Param("goodsChoices") List<GoodsChoice> goodsChoices);

    /***
     * 根据id查询商品数据
     * @param id
     * @return
     */
    GoodsChoice getGoodsChoiceById(@Param("id") int id);

    /***
     * 通过用户id获取商品id
     * @param userId
     * @return
     */
    List getGoodsId(@Param("userId") String userId);

    List<GoodsChoice> getGoodsAll(GoodsSearchVO goodsSearchVO);

    Integer editGoodsUrl(GoodsChoice goodsChoice);

    Integer addGoods(GoodsChoice goodsChoice);

    Integer maxTop();

    Integer top(GoodsChoice goodsChoice);

    Integer delTop(GoodsChoice goodsChoice);

    String getGoodsUrlById(@Param("id") Integer id);
}
